<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    <style>
        .base {
            width: 100px;
            height: 100px;
        }

        .active {
            background: green;
        }

        .text-danger {
            background: red;
        }
    </style>
</head>
<body>
<div id="app">
    <div v-bind:class="classObject"></div>
</div>
<script>

    new Vue({
        el: '#app',
        data: {
            isActive: true,
            error: {
                value: true,
                type: 'fatal'
            }
        },
        computed: {
            classObject: function () {
                return {
                    base: true,
                    active: this.isActive && !this.error.value,
                    'text-danger': this.error.value && this.error.type === 'fatal',
                }
            }
        }
    })
</script>
</body>
</html>